Computers and other processing hardware such as graphics processing units (GPU) and physics processing units (PPU) continue to increase in performance capabilities. This is enabling computers to display true three-dimensional (3D) environments. In conjunction with the improvement in such processing hardware, the development of stereoscopic 3D display devices, such as 3D glasses and 3D display monitors having depth perception, enables observers to view represented objects in a more natural way, as if the objects were physically present in front of them. The advantages of three-dimensional displays include increased functionality and more accurate displays of real life scenes, such as buildings. These advantages are helpful in many applications, including graphical displays of 3D models of large buildings. These 3D models can support situational awareness in a variety of domains, including firefighting, building security, and heating ventilation and air conditioning (HVAC) management.
A typical graphical user interface (GUI) includes mechanisms for cursor navigation and the selection of (or other interaction with) graphical objects (for example, user-interface control objects and application-specific objects). For example, after an object is selected, a user may be able to obtain information about the selected object, manipulate it, etc. In three-dimensional interaction applications, however, navigating and selecting objects offers challenges not present in a 2D display scene. For example, a three-dimensional environment provides more space for additional objects. Thus, a complex model of a building may include thousands of objects, which can greatly affect the ability to effectively select a desired object. Another challenge is that a front object may occlude objects behind it, and a hollow object may occlude interior objects. Three-dimensional environments also provide increased space through which a cursor may move, which increases the average distance between objects. The increased distance translates into increased time for each movement of the cursor from one location to a target object which is to be selected. Generally, the time required to select a target is described by Fitt's Law. Fitt's Law states that the time (MT) to select a target with a width W and a distance (amplitude) A from the cursor can be predicted by the equation: MT=a+b*log2(A/W+1), where a and b are empirically determined constants. The logarithmic term is an index of difficulty of the task.
Previous cursor research, focused mainly on 2D applications, found some success reducing the time required to select a target with a cursor by decreasing A (for example, jumping the cursor to the target), or increasing W (for example, adopting an area cursor instead of a point cursor). However, these approaches are typically difficult to apply to a 3D display scene because navigating and selecting targets in a 3-dimensional scene adds many difficulties described above due to display depth (third dimension) and object occlusion.